home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio / Ham Radio CD-ROM (Emerald Software) (1995).ISO / misc / utilitys / forplot.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1980-01-01  |  1.2 KB  |  47 lines

  1. 5  PI=3.14159
  2. 10  REM FOURIER
  3. 15  PRINT;"fourier plot - k2uyh - modified for ibm pc - wa2tif":PRINT
  4. 20  DIM A(40), B(40), C(40), AM(100), L(25), X(25)   : REM PRECISION 5
  5. 21  M=20
  6. 25  PRINT "ENTER VALUE OF PERIOD"
  7. 26  INPUT T
  8. 30   P2=2*PI: NH=10: DT=T/M
  9. 32  L=T/M
  10. 34   X=0
  11. 36  FOR I=0 TO 20
  12. 38  L(I)=L*X
  13. 40  X=X+1
  14. 42  NEXT I
  15. 80  PRINT "ENTER THE VOLTAGE WHICH CORRESPONDES TO DIVISION OF TIME"
  16. 81  FOR Z=0 TO M
  17. 82  PRINT "AT t= "
  18. 83  PRINT L(Z)
  19. 84  INPUT X(Z)
  20. 85  NEXT Z
  21. 90  S=0: FOR I=0 TO M: S=S+X(I): NEXT
  22. 100  A0=(DT/T)*(S-(X(0)+X(M))/2):PRINT "A0="A0
  23. 110  REM CALC AC TERMS
  24. 120  PRINT: PRINT " N", "  A(N)", "   B(N)", "   C(N)"
  25. 130  FOR N=1 TO NH: AS=0: BS=0
  26. 140  FOR I=0 TO M: TI=I*DT: NW=P2*TI*N/T
  27. 150  AS=AS+X(I)*COS(NW): BS=BS+X(I)*SIN(NW): NEXT
  28. 160  A(N)=2*(DT/T)*(AS-(X(0)+X(M))/2)
  29. 170  B(N)=2*(DT/T)*BS: C(N)=SQR(A(N)^2+B(N)^2)
  30. 180  PRINT N, A(N), B(N), C(N): NEXT
  31. 190  REM SPECTRUM PLOT
  32. 200  FOR N=1 TO NH: IF CM<C(N) THEN CM=C(N)
  33. 210  NEXT: FOR N=1 TO NH: F=N/T: NC=10+INT(50*C(N)/CM)
  34. 220  PRINT F;: FOR I=10 TO NC: PRINT TAB(I); "*";: NEXT
  35. 230  PRINT: NEXT
  36. 240  REM CALC WAVEFORM
  37. 250  PRINT: PRINT "WAVEFORM"
  38. 260  FOR I=0 TO M: TI=I*DT: AM(I)=A0: W=P2*TI/T
  39. 270  FOR N=1 TO NH: AM(I)=AM(I)+A(N)*COS(N*W)+B(N)*SIN(N*W): NEXT
  40. 280  NEXT
  41. 290  REM PLOT WAVEFORM
  42. 300  FOR I=0 TO M: IF MX<AM(I) THEN MX=AM(I)
  43. 310  IF MN>AM(I) THEN MN=AM(I)
  44. 320  NEXT: FOR I=0 TO M : TI=I*DT
  45. 330  NA=10+INT(50*(AM(I)-MN)/(MX-MN))
  46. 340  PRINT TI; TAB(NA); "*": NEXT: END
  47.